{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 股票数据分析\n",
    "\n",
    "具体详见 https://github.com/kamidox/stock-analysis\n",
    "\n",
    "这里假设数据已经下载下来，并且保存在 yahoo-data 目录下。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分析波动幅度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>Adj Close</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>18.82000</td>\n",
       "      <td>19.46000</td>\n",
       "      <td>18.71000</td>\n",
       "      <td>19.34000</td>\n",
       "      <td>13265400</td>\n",
       "      <td>19.34000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>19.12000</td>\n",
       "      <td>19.52000</td>\n",
       "      <td>18.90000</td>\n",
       "      <td>18.98000</td>\n",
       "      <td>12581300</td>\n",
       "      <td>18.98000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>19.50000</td>\n",
       "      <td>20.10000</td>\n",
       "      <td>18.83000</td>\n",
       "      <td>19.23000</td>\n",
       "      <td>22042500</td>\n",
       "      <td>19.23000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>19.73000</td>\n",
       "      <td>20.23000</td>\n",
       "      <td>19.65000</td>\n",
       "      <td>19.77000</td>\n",
       "      <td>20469800</td>\n",
       "      <td>19.77000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-16</th>\n",
       "      <td>19.43000</td>\n",
       "      <td>19.64000</td>\n",
       "      <td>19.20000</td>\n",
       "      <td>19.62000</td>\n",
       "      <td>10963200</td>\n",
       "      <td>19.62000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-13</th>\n",
       "      <td>19.70000</td>\n",
       "      <td>19.94000</td>\n",
       "      <td>19.27000</td>\n",
       "      <td>19.40000</td>\n",
       "      <td>15655100</td>\n",
       "      <td>19.40000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <td>18.81000</td>\n",
       "      <td>19.95000</td>\n",
       "      <td>18.71000</td>\n",
       "      <td>19.88000</td>\n",
       "      <td>19814300</td>\n",
       "      <td>19.88000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <td>19.50000</td>\n",
       "      <td>19.85000</td>\n",
       "      <td>19.12000</td>\n",
       "      <td>19.28000</td>\n",
       "      <td>23742200</td>\n",
       "      <td>19.28000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <td>18.86000</td>\n",
       "      <td>19.17000</td>\n",
       "      <td>18.23000</td>\n",
       "      <td>19.07000</td>\n",
       "      <td>20858200</td>\n",
       "      <td>19.07000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <td>18.62000</td>\n",
       "      <td>18.85000</td>\n",
       "      <td>17.89000</td>\n",
       "      <td>18.67000</td>\n",
       "      <td>22525400</td>\n",
       "      <td>18.67000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <td>20.49000</td>\n",
       "      <td>20.49000</td>\n",
       "      <td>18.69000</td>\n",
       "      <td>18.70000</td>\n",
       "      <td>40962500</td>\n",
       "      <td>18.70000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <td>20.15000</td>\n",
       "      <td>20.57000</td>\n",
       "      <td>20.01000</td>\n",
       "      <td>20.49000</td>\n",
       "      <td>15216600</td>\n",
       "      <td>20.49000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <td>20.80000</td>\n",
       "      <td>21.10000</td>\n",
       "      <td>20.20000</td>\n",
       "      <td>20.42000</td>\n",
       "      <td>22555400</td>\n",
       "      <td>20.42000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <td>20.60000</td>\n",
       "      <td>20.99000</td>\n",
       "      <td>19.90000</td>\n",
       "      <td>20.99000</td>\n",
       "      <td>35319300</td>\n",
       "      <td>20.99000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <td>20.61000</td>\n",
       "      <td>20.61000</td>\n",
       "      <td>20.61000</td>\n",
       "      <td>20.61000</td>\n",
       "      <td>0</td>\n",
       "      <td>20.61000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <td>20.20000</td>\n",
       "      <td>20.77000</td>\n",
       "      <td>19.85000</td>\n",
       "      <td>20.61000</td>\n",
       "      <td>17845800</td>\n",
       "      <td>20.61000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-28</th>\n",
       "      <td>21.49000</td>\n",
       "      <td>21.50000</td>\n",
       "      <td>19.60000</td>\n",
       "      <td>20.40000</td>\n",
       "      <td>41130000</td>\n",
       "      <td>20.40000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-27</th>\n",
       "      <td>21.25000</td>\n",
       "      <td>22.08000</td>\n",
       "      <td>21.12000</td>\n",
       "      <td>21.44000</td>\n",
       "      <td>31398800</td>\n",
       "      <td>21.44000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <td>20.90000</td>\n",
       "      <td>21.27000</td>\n",
       "      <td>20.41000</td>\n",
       "      <td>21.13000</td>\n",
       "      <td>19271100</td>\n",
       "      <td>21.13000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <td>21.61000</td>\n",
       "      <td>21.61000</td>\n",
       "      <td>20.57000</td>\n",
       "      <td>20.92000</td>\n",
       "      <td>19571900</td>\n",
       "      <td>20.92000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-22</th>\n",
       "      <td>21.44000</td>\n",
       "      <td>21.92000</td>\n",
       "      <td>21.01000</td>\n",
       "      <td>21.71000</td>\n",
       "      <td>27411200</td>\n",
       "      <td>21.71000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-21</th>\n",
       "      <td>20.06000</td>\n",
       "      <td>21.97000</td>\n",
       "      <td>19.81000</td>\n",
       "      <td>21.42000</td>\n",
       "      <td>45631800</td>\n",
       "      <td>21.42000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-20</th>\n",
       "      <td>20.68000</td>\n",
       "      <td>21.30000</td>\n",
       "      <td>19.42000</td>\n",
       "      <td>19.97000</td>\n",
       "      <td>34444400</td>\n",
       "      <td>19.97000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-19</th>\n",
       "      <td>20.91000</td>\n",
       "      <td>21.23000</td>\n",
       "      <td>20.35000</td>\n",
       "      <td>20.55000</td>\n",
       "      <td>16482800</td>\n",
       "      <td>20.55000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-18</th>\n",
       "      <td>20.55000</td>\n",
       "      <td>21.20000</td>\n",
       "      <td>19.99000</td>\n",
       "      <td>20.91000</td>\n",
       "      <td>24520700</td>\n",
       "      <td>20.91000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-15</th>\n",
       "      <td>20.38000</td>\n",
       "      <td>20.73000</td>\n",
       "      <td>20.30000</td>\n",
       "      <td>20.71000</td>\n",
       "      <td>16271200</td>\n",
       "      <td>20.71000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-14</th>\n",
       "      <td>20.60000</td>\n",
       "      <td>20.83000</td>\n",
       "      <td>19.92000</td>\n",
       "      <td>20.40000</td>\n",
       "      <td>26698500</td>\n",
       "      <td>20.40000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-13</th>\n",
       "      <td>20.62000</td>\n",
       "      <td>21.17000</td>\n",
       "      <td>20.49000</td>\n",
       "      <td>20.50000</td>\n",
       "      <td>25012500</td>\n",
       "      <td>20.50000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-12</th>\n",
       "      <td>21.50000</td>\n",
       "      <td>21.50000</td>\n",
       "      <td>20.10000</td>\n",
       "      <td>20.49000</td>\n",
       "      <td>29331800</td>\n",
       "      <td>20.49000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-11</th>\n",
       "      <td>21.94000</td>\n",
       "      <td>22.30000</td>\n",
       "      <td>21.54000</td>\n",
       "      <td>21.57000</td>\n",
       "      <td>24064600</td>\n",
       "      <td>21.57000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-08-05</th>\n",
       "      <td>17.90003</td>\n",
       "      <td>18.10002</td>\n",
       "      <td>17.52999</td>\n",
       "      <td>17.56000</td>\n",
       "      <td>8750200</td>\n",
       "      <td>0.98194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-08-04</th>\n",
       "      <td>17.86002</td>\n",
       "      <td>18.01999</td>\n",
       "      <td>17.49998</td>\n",
       "      <td>17.83001</td>\n",
       "      <td>10656000</td>\n",
       "      <td>0.99704</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-08-03</th>\n",
       "      <td>17.58001</td>\n",
       "      <td>18.12002</td>\n",
       "      <td>17.58001</td>\n",
       "      <td>17.73998</td>\n",
       "      <td>12815400</td>\n",
       "      <td>0.99201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-08-02</th>\n",
       "      <td>17.44996</td>\n",
       "      <td>17.88003</td>\n",
       "      <td>17.21997</td>\n",
       "      <td>17.61002</td>\n",
       "      <td>10593500</td>\n",
       "      <td>0.98474</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-30</th>\n",
       "      <td>17.47997</td>\n",
       "      <td>17.80000</td>\n",
       "      <td>17.20997</td>\n",
       "      <td>17.50999</td>\n",
       "      <td>12284500</td>\n",
       "      <td>0.97914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-29</th>\n",
       "      <td>17.15003</td>\n",
       "      <td>17.90003</td>\n",
       "      <td>16.99998</td>\n",
       "      <td>17.46997</td>\n",
       "      <td>15769400</td>\n",
       "      <td>0.97691</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-28</th>\n",
       "      <td>16.32001</td>\n",
       "      <td>16.95997</td>\n",
       "      <td>16.13003</td>\n",
       "      <td>16.92996</td>\n",
       "      <td>5868400</td>\n",
       "      <td>0.94671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-27</th>\n",
       "      <td>16.90004</td>\n",
       "      <td>16.99998</td>\n",
       "      <td>15.99998</td>\n",
       "      <td>16.30000</td>\n",
       "      <td>7869100</td>\n",
       "      <td>0.91148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-26</th>\n",
       "      <td>17.19996</td>\n",
       "      <td>17.21997</td>\n",
       "      <td>16.55000</td>\n",
       "      <td>16.80000</td>\n",
       "      <td>7509400</td>\n",
       "      <td>0.93944</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-23</th>\n",
       "      <td>17.01999</td>\n",
       "      <td>17.24998</td>\n",
       "      <td>16.62002</td>\n",
       "      <td>17.21997</td>\n",
       "      <td>8398200</td>\n",
       "      <td>0.96293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-22</th>\n",
       "      <td>17.71997</td>\n",
       "      <td>17.94996</td>\n",
       "      <td>16.91004</td>\n",
       "      <td>17.02999</td>\n",
       "      <td>8947200</td>\n",
       "      <td>0.95230</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-21</th>\n",
       "      <td>17.93996</td>\n",
       "      <td>18.16004</td>\n",
       "      <td>17.59001</td>\n",
       "      <td>17.60002</td>\n",
       "      <td>9462400</td>\n",
       "      <td>0.98418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-20</th>\n",
       "      <td>17.99998</td>\n",
       "      <td>18.32001</td>\n",
       "      <td>17.74998</td>\n",
       "      <td>17.86002</td>\n",
       "      <td>16607900</td>\n",
       "      <td>0.99872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-19</th>\n",
       "      <td>17.39003</td>\n",
       "      <td>18.33001</td>\n",
       "      <td>17.23998</td>\n",
       "      <td>18.05000</td>\n",
       "      <td>23611100</td>\n",
       "      <td>1.00934</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-16</th>\n",
       "      <td>16.51999</td>\n",
       "      <td>17.67004</td>\n",
       "      <td>16.45997</td>\n",
       "      <td>17.40003</td>\n",
       "      <td>20279700</td>\n",
       "      <td>0.97300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-15</th>\n",
       "      <td>16.81000</td>\n",
       "      <td>17.22997</td>\n",
       "      <td>16.50999</td>\n",
       "      <td>16.70997</td>\n",
       "      <td>9443200</td>\n",
       "      <td>0.93441</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-14</th>\n",
       "      <td>16.69997</td>\n",
       "      <td>16.90004</td>\n",
       "      <td>16.15004</td>\n",
       "      <td>16.89003</td>\n",
       "      <td>9665300</td>\n",
       "      <td>0.94448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-13</th>\n",
       "      <td>16.12002</td>\n",
       "      <td>16.80000</td>\n",
       "      <td>15.80000</td>\n",
       "      <td>16.80000</td>\n",
       "      <td>10745200</td>\n",
       "      <td>0.93944</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-12</th>\n",
       "      <td>17.35002</td>\n",
       "      <td>17.35002</td>\n",
       "      <td>16.20997</td>\n",
       "      <td>16.42996</td>\n",
       "      <td>17923100</td>\n",
       "      <td>0.91875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-09</th>\n",
       "      <td>17.63003</td>\n",
       "      <td>18.17996</td>\n",
       "      <td>17.31000</td>\n",
       "      <td>17.47997</td>\n",
       "      <td>10998800</td>\n",
       "      <td>0.97747</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-08</th>\n",
       "      <td>17.17004</td>\n",
       "      <td>17.66004</td>\n",
       "      <td>17.10002</td>\n",
       "      <td>17.49998</td>\n",
       "      <td>7263400</td>\n",
       "      <td>0.97858</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-07</th>\n",
       "      <td>17.80000</td>\n",
       "      <td>17.80000</td>\n",
       "      <td>17.13003</td>\n",
       "      <td>17.27999</td>\n",
       "      <td>13155000</td>\n",
       "      <td>0.96628</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-06</th>\n",
       "      <td>17.80000</td>\n",
       "      <td>18.24998</td>\n",
       "      <td>17.51999</td>\n",
       "      <td>17.85002</td>\n",
       "      <td>17018000</td>\n",
       "      <td>0.99816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-05</th>\n",
       "      <td>17.49998</td>\n",
       "      <td>17.93996</td>\n",
       "      <td>17.12002</td>\n",
       "      <td>17.73998</td>\n",
       "      <td>17707600</td>\n",
       "      <td>0.99201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-02</th>\n",
       "      <td>18.76999</td>\n",
       "      <td>19.10002</td>\n",
       "      <td>16.99998</td>\n",
       "      <td>17.67996</td>\n",
       "      <td>37618100</td>\n",
       "      <td>0.98865</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-01</th>\n",
       "      <td>18.90003</td>\n",
       "      <td>19.35002</td>\n",
       "      <td>18.65003</td>\n",
       "      <td>18.76999</td>\n",
       "      <td>32947700</td>\n",
       "      <td>1.04960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-30</th>\n",
       "      <td>18.25998</td>\n",
       "      <td>19.99998</td>\n",
       "      <td>18.25998</td>\n",
       "      <td>19.02999</td>\n",
       "      <td>54561100</td>\n",
       "      <td>1.06414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-29</th>\n",
       "      <td>20.27999</td>\n",
       "      <td>20.27999</td>\n",
       "      <td>20.27999</td>\n",
       "      <td>20.27999</td>\n",
       "      <td>3475700</td>\n",
       "      <td>1.13404</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-28</th>\n",
       "      <td>22.52999</td>\n",
       "      <td>22.99998</td>\n",
       "      <td>22.52999</td>\n",
       "      <td>22.52999</td>\n",
       "      <td>7168200</td>\n",
       "      <td>1.25986</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-25</th>\n",
       "      <td>28.10001</td>\n",
       "      <td>29.99997</td>\n",
       "      <td>23.99997</td>\n",
       "      <td>25.02999</td>\n",
       "      <td>177992600</td>\n",
       "      <td>1.39966</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3057 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                Open      High       Low     Close     Volume  Adj Close\n",
       "Date                                                                    \n",
       "2016-05-20  18.82000  19.46000  18.71000  19.34000   13265400   19.34000\n",
       "2016-05-19  19.12000  19.52000  18.90000  18.98000   12581300   18.98000\n",
       "2016-05-18  19.50000  20.10000  18.83000  19.23000   22042500   19.23000\n",
       "2016-05-17  19.73000  20.23000  19.65000  19.77000   20469800   19.77000\n",
       "2016-05-16  19.43000  19.64000  19.20000  19.62000   10963200   19.62000\n",
       "2016-05-13  19.70000  19.94000  19.27000  19.40000   15655100   19.40000\n",
       "2016-05-12  18.81000  19.95000  18.71000  19.88000   19814300   19.88000\n",
       "2016-05-11  19.50000  19.85000  19.12000  19.28000   23742200   19.28000\n",
       "2016-05-10  18.86000  19.17000  18.23000  19.07000   20858200   19.07000\n",
       "2016-05-09  18.62000  18.85000  17.89000  18.67000   22525400   18.67000\n",
       "2016-05-06  20.49000  20.49000  18.69000  18.70000   40962500   18.70000\n",
       "2016-05-05  20.15000  20.57000  20.01000  20.49000   15216600   20.49000\n",
       "2016-05-04  20.80000  21.10000  20.20000  20.42000   22555400   20.42000\n",
       "2016-05-03  20.60000  20.99000  19.90000  20.99000   35319300   20.99000\n",
       "2016-05-02  20.61000  20.61000  20.61000  20.61000          0   20.61000\n",
       "2016-04-29  20.20000  20.77000  19.85000  20.61000   17845800   20.61000\n",
       "2016-04-28  21.49000  21.50000  19.60000  20.40000   41130000   20.40000\n",
       "2016-04-27  21.25000  22.08000  21.12000  21.44000   31398800   21.44000\n",
       "2016-04-26  20.90000  21.27000  20.41000  21.13000   19271100   21.13000\n",
       "2016-04-25  21.61000  21.61000  20.57000  20.92000   19571900   20.92000\n",
       "2016-04-22  21.44000  21.92000  21.01000  21.71000   27411200   21.71000\n",
       "2016-04-21  20.06000  21.97000  19.81000  21.42000   45631800   21.42000\n",
       "2016-04-20  20.68000  21.30000  19.42000  19.97000   34444400   19.97000\n",
       "2016-04-19  20.91000  21.23000  20.35000  20.55000   16482800   20.55000\n",
       "2016-04-18  20.55000  21.20000  19.99000  20.91000   24520700   20.91000\n",
       "2016-04-15  20.38000  20.73000  20.30000  20.71000   16271200   20.71000\n",
       "2016-04-14  20.60000  20.83000  19.92000  20.40000   26698500   20.40000\n",
       "2016-04-13  20.62000  21.17000  20.49000  20.50000   25012500   20.50000\n",
       "2016-04-12  21.50000  21.50000  20.10000  20.49000   29331800   20.49000\n",
       "2016-04-11  21.94000  22.30000  21.54000  21.57000   24064600   21.57000\n",
       "...              ...       ...       ...       ...        ...        ...\n",
       "2004-08-05  17.90003  18.10002  17.52999  17.56000    8750200    0.98194\n",
       "2004-08-04  17.86002  18.01999  17.49998  17.83001   10656000    0.99704\n",
       "2004-08-03  17.58001  18.12002  17.58001  17.73998   12815400    0.99201\n",
       "2004-08-02  17.44996  17.88003  17.21997  17.61002   10593500    0.98474\n",
       "2004-07-30  17.47997  17.80000  17.20997  17.50999   12284500    0.97914\n",
       "2004-07-29  17.15003  17.90003  16.99998  17.46997   15769400    0.97691\n",
       "2004-07-28  16.32001  16.95997  16.13003  16.92996    5868400    0.94671\n",
       "2004-07-27  16.90004  16.99998  15.99998  16.30000    7869100    0.91148\n",
       "2004-07-26  17.19996  17.21997  16.55000  16.80000    7509400    0.93944\n",
       "2004-07-23  17.01999  17.24998  16.62002  17.21997    8398200    0.96293\n",
       "2004-07-22  17.71997  17.94996  16.91004  17.02999    8947200    0.95230\n",
       "2004-07-21  17.93996  18.16004  17.59001  17.60002    9462400    0.98418\n",
       "2004-07-20  17.99998  18.32001  17.74998  17.86002   16607900    0.99872\n",
       "2004-07-19  17.39003  18.33001  17.23998  18.05000   23611100    1.00934\n",
       "2004-07-16  16.51999  17.67004  16.45997  17.40003   20279700    0.97300\n",
       "2004-07-15  16.81000  17.22997  16.50999  16.70997    9443200    0.93441\n",
       "2004-07-14  16.69997  16.90004  16.15004  16.89003    9665300    0.94448\n",
       "2004-07-13  16.12002  16.80000  15.80000  16.80000   10745200    0.93944\n",
       "2004-07-12  17.35002  17.35002  16.20997  16.42996   17923100    0.91875\n",
       "2004-07-09  17.63003  18.17996  17.31000  17.47997   10998800    0.97747\n",
       "2004-07-08  17.17004  17.66004  17.10002  17.49998    7263400    0.97858\n",
       "2004-07-07  17.80000  17.80000  17.13003  17.27999   13155000    0.96628\n",
       "2004-07-06  17.80000  18.24998  17.51999  17.85002   17018000    0.99816\n",
       "2004-07-05  17.49998  17.93996  17.12002  17.73998   17707600    0.99201\n",
       "2004-07-02  18.76999  19.10002  16.99998  17.67996   37618100    0.98865\n",
       "2004-07-01  18.90003  19.35002  18.65003  18.76999   32947700    1.04960\n",
       "2004-06-30  18.25998  19.99998  18.25998  19.02999   54561100    1.06414\n",
       "2004-06-29  20.27999  20.27999  20.27999  20.27999    3475700    1.13404\n",
       "2004-06-28  22.52999  22.99998  22.52999  22.52999    7168200    1.25986\n",
       "2004-06-25  28.10001  29.99997  23.99997  25.02999  177992600    1.39966\n",
       "\n",
       "[3057 rows x 6 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datadir = 'yahoo-data'\n",
    "fname = '002001.csv'\n",
    "data = pd.read_csv(os.path.join(datadir, fname), index_col='Date', parse_dates=True)\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "2016-05-20    19.34000\n",
       "2016-05-19    18.98000\n",
       "2016-05-18    19.23000\n",
       "2016-05-17    19.77000\n",
       "2016-05-16    19.62000\n",
       "2016-05-13    19.40000\n",
       "2016-05-12    19.88000\n",
       "2016-05-11    19.28000\n",
       "2016-05-10    19.07000\n",
       "2016-05-09    18.67000\n",
       "2016-05-06    18.70000\n",
       "2016-05-05    20.49000\n",
       "2016-05-04    20.42000\n",
       "2016-05-03    20.99000\n",
       "2016-05-02    20.61000\n",
       "2016-04-29    20.61000\n",
       "2016-04-28    20.40000\n",
       "2016-04-27    21.44000\n",
       "2016-04-26    21.13000\n",
       "2016-04-25    20.92000\n",
       "2016-04-22    21.71000\n",
       "2016-04-21    21.42000\n",
       "2016-04-20    19.97000\n",
       "2016-04-19    20.55000\n",
       "2016-04-18    20.91000\n",
       "2016-04-15    20.71000\n",
       "2016-04-14    20.40000\n",
       "2016-04-13    20.50000\n",
       "2016-04-12    20.49000\n",
       "2016-04-11    21.57000\n",
       "                ...   \n",
       "2004-08-05     0.98194\n",
       "2004-08-04     0.99704\n",
       "2004-08-03     0.99201\n",
       "2004-08-02     0.98474\n",
       "2004-07-30     0.97914\n",
       "2004-07-29     0.97691\n",
       "2004-07-28     0.94671\n",
       "2004-07-27     0.91148\n",
       "2004-07-26     0.93944\n",
       "2004-07-23     0.96293\n",
       "2004-07-22     0.95230\n",
       "2004-07-21     0.98418\n",
       "2004-07-20     0.99872\n",
       "2004-07-19     1.00934\n",
       "2004-07-16     0.97300\n",
       "2004-07-15     0.93441\n",
       "2004-07-14     0.94448\n",
       "2004-07-13     0.93944\n",
       "2004-07-12     0.91875\n",
       "2004-07-09     0.97747\n",
       "2004-07-08     0.97858\n",
       "2004-07-07     0.96628\n",
       "2004-07-06     0.99816\n",
       "2004-07-05     0.99201\n",
       "2004-07-02     0.98865\n",
       "2004-07-01     1.04960\n",
       "2004-06-30     1.06414\n",
       "2004-06-29     1.13404\n",
       "2004-06-28     1.25986\n",
       "2004-06-25     1.39966\n",
       "Name: Adj Close, Length: 3057, dtype: float64"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 使用 resample 针对复权收盘价进行重采样\n",
    "adj_price = data['Adj Close']\n",
    "adj_price"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: how in .resample() is deprecated\n",
      "the new syntax is .resample(...).ohlc()\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-06-30</th>\n",
       "      <td>1.39966</td>\n",
       "      <td>1.39966</td>\n",
       "      <td>1.06414</td>\n",
       "      <td>1.06414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-07-31</th>\n",
       "      <td>1.04960</td>\n",
       "      <td>1.04960</td>\n",
       "      <td>0.91148</td>\n",
       "      <td>0.97914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-08-31</th>\n",
       "      <td>0.98474</td>\n",
       "      <td>0.99704</td>\n",
       "      <td>0.77951</td>\n",
       "      <td>0.80244</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-09-30</th>\n",
       "      <td>0.80244</td>\n",
       "      <td>0.96069</td>\n",
       "      <td>0.74876</td>\n",
       "      <td>0.91596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-10-31</th>\n",
       "      <td>0.91596</td>\n",
       "      <td>1.00263</td>\n",
       "      <td>0.81083</td>\n",
       "      <td>0.84270</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-11-30</th>\n",
       "      <td>0.82201</td>\n",
       "      <td>0.89471</td>\n",
       "      <td>0.81362</td>\n",
       "      <td>0.82201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-12-31</th>\n",
       "      <td>0.81810</td>\n",
       "      <td>0.85389</td>\n",
       "      <td>0.74428</td>\n",
       "      <td>0.74428</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-01-31</th>\n",
       "      <td>0.74428</td>\n",
       "      <td>0.76497</td>\n",
       "      <td>0.61008</td>\n",
       "      <td>0.61008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-02-28</th>\n",
       "      <td>0.61399</td>\n",
       "      <td>0.77784</td>\n",
       "      <td>0.61399</td>\n",
       "      <td>0.77784</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-03-31</th>\n",
       "      <td>0.76497</td>\n",
       "      <td>0.78007</td>\n",
       "      <td>0.61455</td>\n",
       "      <td>0.62797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-04-30</th>\n",
       "      <td>0.65425</td>\n",
       "      <td>0.69172</td>\n",
       "      <td>0.61231</td>\n",
       "      <td>0.63580</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-05-31</th>\n",
       "      <td>0.63580</td>\n",
       "      <td>0.82441</td>\n",
       "      <td>0.63245</td>\n",
       "      <td>0.78681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-06-30</th>\n",
       "      <td>0.78681</td>\n",
       "      <td>0.86418</td>\n",
       "      <td>0.68701</td>\n",
       "      <td>0.85695</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-07-31</th>\n",
       "      <td>0.83164</td>\n",
       "      <td>0.93361</td>\n",
       "      <td>0.81935</td>\n",
       "      <td>0.93361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-08-31</th>\n",
       "      <td>0.93361</td>\n",
       "      <td>0.93361</td>\n",
       "      <td>0.73980</td>\n",
       "      <td>0.73980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-09-30</th>\n",
       "      <td>0.73907</td>\n",
       "      <td>0.78536</td>\n",
       "      <td>0.73040</td>\n",
       "      <td>0.75498</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-10-31</th>\n",
       "      <td>0.75498</td>\n",
       "      <td>1.01207</td>\n",
       "      <td>0.75498</td>\n",
       "      <td>0.97953</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-11-30</th>\n",
       "      <td>0.96543</td>\n",
       "      <td>1.06305</td>\n",
       "      <td>0.93939</td>\n",
       "      <td>1.06088</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005-12-31</th>\n",
       "      <td>1.03810</td>\n",
       "      <td>1.05763</td>\n",
       "      <td>0.98712</td>\n",
       "      <td>1.02725</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-01-31</th>\n",
       "      <td>1.02725</td>\n",
       "      <td>1.13031</td>\n",
       "      <td>0.99037</td>\n",
       "      <td>1.12922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-02-28</th>\n",
       "      <td>1.12922</td>\n",
       "      <td>1.12922</td>\n",
       "      <td>0.96217</td>\n",
       "      <td>0.97627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-03-31</th>\n",
       "      <td>1.01098</td>\n",
       "      <td>1.09885</td>\n",
       "      <td>0.95458</td>\n",
       "      <td>1.08692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-04-30</th>\n",
       "      <td>1.11729</td>\n",
       "      <td>1.19973</td>\n",
       "      <td>1.06414</td>\n",
       "      <td>1.08475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-05-31</th>\n",
       "      <td>1.08475</td>\n",
       "      <td>1.37654</td>\n",
       "      <td>1.08475</td>\n",
       "      <td>1.28434</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-06-30</th>\n",
       "      <td>1.34509</td>\n",
       "      <td>1.47356</td>\n",
       "      <td>1.26373</td>\n",
       "      <td>1.47356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-07-31</th>\n",
       "      <td>1.49225</td>\n",
       "      <td>1.69542</td>\n",
       "      <td>1.35914</td>\n",
       "      <td>1.35914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-08-31</th>\n",
       "      <td>1.36147</td>\n",
       "      <td>1.37782</td>\n",
       "      <td>1.19801</td>\n",
       "      <td>1.31477</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-09-30</th>\n",
       "      <td>1.26573</td>\n",
       "      <td>1.35914</td>\n",
       "      <td>1.24237</td>\n",
       "      <td>1.35914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-10-31</th>\n",
       "      <td>1.35914</td>\n",
       "      <td>1.43620</td>\n",
       "      <td>1.24237</td>\n",
       "      <td>1.25639</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006-11-30</th>\n",
       "      <td>1.27974</td>\n",
       "      <td>1.31477</td>\n",
       "      <td>1.13028</td>\n",
       "      <td>1.20034</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-12-31</th>\n",
       "      <td>12.44789</td>\n",
       "      <td>12.96701</td>\n",
       "      <td>12.04900</td>\n",
       "      <td>12.21995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-01-31</th>\n",
       "      <td>12.21995</td>\n",
       "      <td>12.21995</td>\n",
       "      <td>10.82698</td>\n",
       "      <td>11.04228</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-02-28</th>\n",
       "      <td>11.04228</td>\n",
       "      <td>12.32119</td>\n",
       "      <td>11.04228</td>\n",
       "      <td>11.38418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-03-31</th>\n",
       "      <td>11.42217</td>\n",
       "      <td>12.74544</td>\n",
       "      <td>10.50407</td>\n",
       "      <td>12.19459</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-04-30</th>\n",
       "      <td>12.29593</td>\n",
       "      <td>14.13842</td>\n",
       "      <td>12.25794</td>\n",
       "      <td>12.40990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-05-31</th>\n",
       "      <td>12.40990</td>\n",
       "      <td>13.15656</td>\n",
       "      <td>12.28320</td>\n",
       "      <td>12.61372</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-06-30</th>\n",
       "      <td>12.61372</td>\n",
       "      <td>12.68281</td>\n",
       "      <td>11.69582</td>\n",
       "      <td>12.22879</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-07-31</th>\n",
       "      <td>12.53476</td>\n",
       "      <td>14.55809</td>\n",
       "      <td>12.23866</td>\n",
       "      <td>14.38043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-08-31</th>\n",
       "      <td>14.04485</td>\n",
       "      <td>15.11080</td>\n",
       "      <td>13.90667</td>\n",
       "      <td>14.21264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-09-30</th>\n",
       "      <td>14.38043</td>\n",
       "      <td>14.92327</td>\n",
       "      <td>14.38043</td>\n",
       "      <td>14.88379</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-10-31</th>\n",
       "      <td>14.88379</td>\n",
       "      <td>16.08792</td>\n",
       "      <td>14.80483</td>\n",
       "      <td>14.80483</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-11-30</th>\n",
       "      <td>14.94301</td>\n",
       "      <td>14.94301</td>\n",
       "      <td>14.12381</td>\n",
       "      <td>14.79496</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-12-31</th>\n",
       "      <td>14.90353</td>\n",
       "      <td>16.12740</td>\n",
       "      <td>14.68639</td>\n",
       "      <td>14.97262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-01-31</th>\n",
       "      <td>14.97262</td>\n",
       "      <td>16.33466</td>\n",
       "      <td>14.88379</td>\n",
       "      <td>15.17989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28</th>\n",
       "      <td>14.68639</td>\n",
       "      <td>15.14041</td>\n",
       "      <td>14.31134</td>\n",
       "      <td>15.05158</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-31</th>\n",
       "      <td>15.45625</td>\n",
       "      <td>17.63749</td>\n",
       "      <td>15.18976</td>\n",
       "      <td>16.97621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-30</th>\n",
       "      <td>16.96634</td>\n",
       "      <td>20.60833</td>\n",
       "      <td>16.95647</td>\n",
       "      <td>19.05875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-05-31</th>\n",
       "      <td>19.05875</td>\n",
       "      <td>23.30281</td>\n",
       "      <td>17.84476</td>\n",
       "      <td>23.30281</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-06-30</th>\n",
       "      <td>25.07939</td>\n",
       "      <td>28.02061</td>\n",
       "      <td>17.09000</td>\n",
       "      <td>17.09000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-07-31</th>\n",
       "      <td>17.09000</td>\n",
       "      <td>19.18000</td>\n",
       "      <td>15.48000</td>\n",
       "      <td>16.16000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-08-31</th>\n",
       "      <td>16.58000</td>\n",
       "      <td>19.02000</td>\n",
       "      <td>12.71000</td>\n",
       "      <td>15.23000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-09-30</th>\n",
       "      <td>14.98000</td>\n",
       "      <td>15.57000</td>\n",
       "      <td>12.65000</td>\n",
       "      <td>13.41000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-10-31</th>\n",
       "      <td>13.41000</td>\n",
       "      <td>15.30000</td>\n",
       "      <td>13.41000</td>\n",
       "      <td>15.22000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-11-30</th>\n",
       "      <td>14.74000</td>\n",
       "      <td>16.94000</td>\n",
       "      <td>14.62000</td>\n",
       "      <td>15.70000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-31</th>\n",
       "      <td>15.85000</td>\n",
       "      <td>18.68000</td>\n",
       "      <td>15.56000</td>\n",
       "      <td>17.44000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-31</th>\n",
       "      <td>17.44000</td>\n",
       "      <td>17.44000</td>\n",
       "      <td>13.10000</td>\n",
       "      <td>14.01000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-29</th>\n",
       "      <td>14.15000</td>\n",
       "      <td>19.28000</td>\n",
       "      <td>13.94000</td>\n",
       "      <td>19.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-31</th>\n",
       "      <td>20.20000</td>\n",
       "      <td>21.20000</td>\n",
       "      <td>17.53000</td>\n",
       "      <td>21.20000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>20.38000</td>\n",
       "      <td>21.78000</td>\n",
       "      <td>19.97000</td>\n",
       "      <td>20.61000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-31</th>\n",
       "      <td>20.61000</td>\n",
       "      <td>20.99000</td>\n",
       "      <td>18.67000</td>\n",
       "      <td>19.34000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>144 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                open      high       low     close\n",
       "Date                                              \n",
       "2004-06-30   1.39966   1.39966   1.06414   1.06414\n",
       "2004-07-31   1.04960   1.04960   0.91148   0.97914\n",
       "2004-08-31   0.98474   0.99704   0.77951   0.80244\n",
       "2004-09-30   0.80244   0.96069   0.74876   0.91596\n",
       "2004-10-31   0.91596   1.00263   0.81083   0.84270\n",
       "2004-11-30   0.82201   0.89471   0.81362   0.82201\n",
       "2004-12-31   0.81810   0.85389   0.74428   0.74428\n",
       "2005-01-31   0.74428   0.76497   0.61008   0.61008\n",
       "2005-02-28   0.61399   0.77784   0.61399   0.77784\n",
       "2005-03-31   0.76497   0.78007   0.61455   0.62797\n",
       "2005-04-30   0.65425   0.69172   0.61231   0.63580\n",
       "2005-05-31   0.63580   0.82441   0.63245   0.78681\n",
       "2005-06-30   0.78681   0.86418   0.68701   0.85695\n",
       "2005-07-31   0.83164   0.93361   0.81935   0.93361\n",
       "2005-08-31   0.93361   0.93361   0.73980   0.73980\n",
       "2005-09-30   0.73907   0.78536   0.73040   0.75498\n",
       "2005-10-31   0.75498   1.01207   0.75498   0.97953\n",
       "2005-11-30   0.96543   1.06305   0.93939   1.06088\n",
       "2005-12-31   1.03810   1.05763   0.98712   1.02725\n",
       "2006-01-31   1.02725   1.13031   0.99037   1.12922\n",
       "2006-02-28   1.12922   1.12922   0.96217   0.97627\n",
       "2006-03-31   1.01098   1.09885   0.95458   1.08692\n",
       "2006-04-30   1.11729   1.19973   1.06414   1.08475\n",
       "2006-05-31   1.08475   1.37654   1.08475   1.28434\n",
       "2006-06-30   1.34509   1.47356   1.26373   1.47356\n",
       "2006-07-31   1.49225   1.69542   1.35914   1.35914\n",
       "2006-08-31   1.36147   1.37782   1.19801   1.31477\n",
       "2006-09-30   1.26573   1.35914   1.24237   1.35914\n",
       "2006-10-31   1.35914   1.43620   1.24237   1.25639\n",
       "2006-11-30   1.27974   1.31477   1.13028   1.20034\n",
       "...              ...       ...       ...       ...\n",
       "2013-12-31  12.44789  12.96701  12.04900  12.21995\n",
       "2014-01-31  12.21995  12.21995  10.82698  11.04228\n",
       "2014-02-28  11.04228  12.32119  11.04228  11.38418\n",
       "2014-03-31  11.42217  12.74544  10.50407  12.19459\n",
       "2014-04-30  12.29593  14.13842  12.25794  12.40990\n",
       "2014-05-31  12.40990  13.15656  12.28320  12.61372\n",
       "2014-06-30  12.61372  12.68281  11.69582  12.22879\n",
       "2014-07-31  12.53476  14.55809  12.23866  14.38043\n",
       "2014-08-31  14.04485  15.11080  13.90667  14.21264\n",
       "2014-09-30  14.38043  14.92327  14.38043  14.88379\n",
       "2014-10-31  14.88379  16.08792  14.80483  14.80483\n",
       "2014-11-30  14.94301  14.94301  14.12381  14.79496\n",
       "2014-12-31  14.90353  16.12740  14.68639  14.97262\n",
       "2015-01-31  14.97262  16.33466  14.88379  15.17989\n",
       "2015-02-28  14.68639  15.14041  14.31134  15.05158\n",
       "2015-03-31  15.45625  17.63749  15.18976  16.97621\n",
       "2015-04-30  16.96634  20.60833  16.95647  19.05875\n",
       "2015-05-31  19.05875  23.30281  17.84476  23.30281\n",
       "2015-06-30  25.07939  28.02061  17.09000  17.09000\n",
       "2015-07-31  17.09000  19.18000  15.48000  16.16000\n",
       "2015-08-31  16.58000  19.02000  12.71000  15.23000\n",
       "2015-09-30  14.98000  15.57000  12.65000  13.41000\n",
       "2015-10-31  13.41000  15.30000  13.41000  15.22000\n",
       "2015-11-30  14.74000  16.94000  14.62000  15.70000\n",
       "2015-12-31  15.85000  18.68000  15.56000  17.44000\n",
       "2016-01-31  17.44000  17.44000  13.10000  14.01000\n",
       "2016-02-29  14.15000  19.28000  13.94000  19.00000\n",
       "2016-03-31  20.20000  21.20000  17.53000  21.20000\n",
       "2016-04-30  20.38000  21.78000  19.97000  20.61000\n",
       "2016-05-31  20.61000  20.99000  18.67000  19.34000\n",
       "\n",
       "[144 rows x 4 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "resampled = adj_price.resample('m', how='ohlc')\n",
    "resampled"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "2004-06-30    0.315297\n",
       "2004-07-31    0.151534\n",
       "2004-08-31    0.279060\n",
       "2004-09-30    0.283041\n",
       "2004-10-31    0.236548\n",
       "2004-11-30    0.099666\n",
       "2004-12-31    0.147270\n",
       "2005-01-31    0.253885\n",
       "2005-02-28    0.266861\n",
       "2005-03-31    0.269335\n",
       "2005-04-30    0.129689\n",
       "2005-05-31    0.303518\n",
       "2005-06-30    0.257886\n",
       "2005-07-31    0.139452\n",
       "2005-08-31    0.261976\n",
       "2005-09-30    0.075246\n",
       "2005-10-31    0.340526\n",
       "2005-11-30    0.131639\n",
       "2005-12-31    0.071430\n",
       "2006-01-31    0.141301\n",
       "2006-02-28    0.173618\n",
       "2006-03-31    0.151135\n",
       "2006-04-30    0.127417\n",
       "2006-05-31    0.268993\n",
       "2006-06-30    0.166040\n",
       "2006-07-31    0.247421\n",
       "2006-08-31    0.150091\n",
       "2006-09-30    0.093990\n",
       "2006-10-31    0.156016\n",
       "2006-11-30    0.163225\n",
       "                ...   \n",
       "2013-12-31    0.076190\n",
       "2014-01-31    0.128657\n",
       "2014-02-28    0.115819\n",
       "2014-03-31    0.213381\n",
       "2014-04-30    0.153409\n",
       "2014-05-31    0.071102\n",
       "2014-06-30    0.084388\n",
       "2014-07-31    0.189517\n",
       "2014-08-31    0.086587\n",
       "2014-09-30    0.037749\n",
       "2014-10-31    0.086667\n",
       "2014-11-30    0.058001\n",
       "2014-12-31    0.098119\n",
       "2015-01-31    0.097480\n",
       "2015-02-28    0.057931\n",
       "2015-03-31    0.161143\n",
       "2015-04-30    0.215367\n",
       "2015-05-31    0.305863\n",
       "2015-06-30    0.639591\n",
       "2015-07-31    0.239018\n",
       "2015-08-31    0.496459\n",
       "2015-09-30    0.230830\n",
       "2015-10-31    0.140940\n",
       "2015-11-30    0.158687\n",
       "2015-12-31    0.200514\n",
       "2016-01-31    0.331298\n",
       "2016-02-29    0.383070\n",
       "2016-03-31    0.209355\n",
       "2016-04-30    0.090636\n",
       "2016-05-31    0.124264\n",
       "Freq: M, Length: 144, dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ret = (resampled.high - resampled.low) / resampled.low\n",
    "ret"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nN3KB268AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd0fce0c7f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ret.plot();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.19910562305507182"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ret.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 增长曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 600690.ss 000951.sz 002001.sz\n",
    "stockid = '600690.sz'\n",
    "stockfile = '600690.csv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>Adj Close</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>8.74</td>\n",
       "      <td>9.15</td>\n",
       "      <td>8.74</td>\n",
       "      <td>9.14</td>\n",
       "      <td>55390400</td>\n",
       "      <td>9.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>8.84</td>\n",
       "      <td>9.05</td>\n",
       "      <td>8.81</td>\n",
       "      <td>8.84</td>\n",
       "      <td>34785900</td>\n",
       "      <td>8.84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>8.82</td>\n",
       "      <td>8.93</td>\n",
       "      <td>8.65</td>\n",
       "      <td>8.88</td>\n",
       "      <td>44254300</td>\n",
       "      <td>8.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>9.08</td>\n",
       "      <td>9.08</td>\n",
       "      <td>8.82</td>\n",
       "      <td>8.83</td>\n",
       "      <td>42392200</td>\n",
       "      <td>8.83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-16</th>\n",
       "      <td>8.90</td>\n",
       "      <td>9.08</td>\n",
       "      <td>8.80</td>\n",
       "      <td>9.07</td>\n",
       "      <td>59749500</td>\n",
       "      <td>9.07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Open  High   Low  Close    Volume  Adj Close\n",
       "Date                                                    \n",
       "2016-05-20  8.74  9.15  8.74   9.14  55390400       9.14\n",
       "2016-05-19  8.84  9.05  8.81   8.84  34785900       8.84\n",
       "2016-05-18  8.82  8.93  8.65   8.88  44254300       8.88\n",
       "2016-05-17  9.08  9.08  8.82   8.83  42392200       8.83\n",
       "2016-05-16  8.90  9.08  8.80   9.07  59749500       9.07"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds = pd.read_csv(os.path.join('yahoo-data', stockfile), index_col='Date', parse_dates=True)\n",
    "ds.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x1116e46d0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11160dc50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "adj_price = ds['Adj Close']\n",
    "adj_price.plot(figsize=(8, 6))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 增长倍数\n",
    "\n",
    "#### 最大增长倍数及最大年化复合增长率\n",
    "\n",
    "计算最低价和最高价之间的收盘价比较，以及增长的倍数和年化复全增长率，这个反应的是一个股票最好的情况下的投资收益情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1113.2977809591985"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最高增长倍数\n",
    "total_max_growth = adj_price.max() / adj_price.min()\n",
    "total_max_growth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.3966150915746656"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最大年均复合增长率\n",
    "min_date = adj_price.argmin()\n",
    "max_date = adj_price.argmax()\n",
    "max_growth_per_year = total_max_growth ** (1.0 / (max_date.year - min_date.year))\n",
    "max_growth_per_year"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 当前增长倍数及复合增长率\n",
    "\n",
    "计算上市时的收盘价与当前的收盘价比较，增长的倍数和年化复全增长率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "180.205047318612"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 当前平均增长倍数\n",
    "total_growth = adj_price.ix[0] / adj_price.ix[-1]\n",
    "total_growth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.2533628673066715"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 年复合增长倍数\n",
    "old_date = adj_price.index[-1]\n",
    "now_date = adj_price.index[0]\n",
    "growth_per_year = total_growth ** (1.0 / (now_date.year - old_date.year))\n",
    "growth_per_year"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 平均年化增长率\n",
    "\n",
    "计算每年的增长率，然后再求平均值。也可以计算每月的增长率，再求平均值，可以看到更短的一些周期变化。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "1993    0.03573\n",
       "1994    0.02459\n",
       "1995    0.07254\n",
       "1996    0.27879\n",
       "1997    0.69135\n",
       "1998    0.50219\n",
       "1999    0.48011\n",
       "2000    0.80252\n",
       "2001    0.78662\n",
       "2002    0.53786\n",
       "2003    0.60910\n",
       "2004    0.56913\n",
       "2005    0.60712\n",
       "2006    1.50079\n",
       "2007    3.80700\n",
       "2008    1.67358\n",
       "2009    4.82062\n",
       "2010    5.76779\n",
       "2011    3.70347\n",
       "2012    5.72073\n",
       "2013    8.85739\n",
       "2014    8.96458\n",
       "2015    9.92000\n",
       "2016    9.14000\n",
       "Freq: A-DEC, Name: Adj Close, dtype: float64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price_in_years = adj_price.to_period(freq='A').groupby(level=0).first()\n",
    "price_in_years"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x11160dfd0>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x111d9f210>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "price_in_years.plot(figsize=(8,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "1993         NaN\n",
       "1994   -0.311783\n",
       "1995    1.949980\n",
       "1996    2.843259\n",
       "1997    1.479824\n",
       "1998   -0.273610\n",
       "1999   -0.043967\n",
       "2000    0.671534\n",
       "2001   -0.019813\n",
       "2002   -0.316239\n",
       "2003    0.132451\n",
       "2004   -0.065621\n",
       "2005    0.066751\n",
       "2006    1.471982\n",
       "2007    1.536664\n",
       "2008   -0.560394\n",
       "2009    1.880424\n",
       "2010    0.196483\n",
       "2011   -0.357905\n",
       "2012    0.544695\n",
       "2013    0.548297\n",
       "2014    0.012102\n",
       "2015    0.106577\n",
       "2016   -0.078629\n",
       "Freq: A-DEC, Name: Adj Close, dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 这里的关键信息：\n",
    "# 计算年化收益率时，diff 应该要除以前一年的价格，即在前一年的价格的基础上上涨了多少，而不是在当前年的价格。\n",
    "diff = price_in_years.diff()\n",
    "rate_in_years =  diff / (price_in_years - diff)\n",
    "rate_in_years"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.49622003984599322"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rate_in_years.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x111e06290>]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x111ced1d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rate_in_years.plot(kind='bar', figsize=(8,6))\n",
    "X = [0, len(rate_in_years)]\n",
    "Y = [0, 0]\n",
    "plt.plot(X, Y, color='red', linestyle='-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
